دسته بندی ها
09:35 1398/07/28

نگهداری مشخصات کاربر لاگین شده در یک Object

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Asp.net Mvc Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3038
هوش مصنوعی

پاسخ هوش مصنوعی

برای نگهداری مشخصات کاربر لاگین شده در یک شی (Object) از یک کلاس، می توانید یک کلاس تعریف کنید که شامل ویژگی ها (Properties) مورد نظر شما باشد. در ادامه یک مثال ساده از این موضوع آورده شده است:

class User {
    constructor(username, email, fullName) {
        this.username = username;
        this.email = email;
        this.fullName = fullName;
    }
}

// ایجاد یک نمونه از کلاس User با اطلاعات کاربر
let loggedInUser = new User('johndoe', 'johndoe@example.com', 'John Doe');

// دسترسی به اطلاعات کاربر
console.log(loggedInUser.username); // 'johndoe'
console.log(loggedInUser.email);    // 'johndoe@example.com'
console.log(loggedInUser.fullName);  // 'John Doe'

در این مثال، کلاس `User` یک سازنده دارد که نام کاربری، ایمیل و نام کامل کاربر را به عنوان پارامتر ورودی می گیرد. سپس با استفاده از این کلاس، یک شی جدید به نام `loggedInUser` ساخته شده که اطلاعات کاربر لاگین شده را در خود ذخیره می کند. شما می توانید به این شی و ویژگی های آن در تمامی اکشن ها دسترسی داشته باشید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamdola 23:24 1398/07/26

سلام

بنظرم برای نگهداری اطلاعات کاربر در یک شی راه حل منطقی و ساده استفاده از Claim Base ها هست. چون در روش Claim Base  اطلاعات کامل کاربر در کوکی ذخیره میشه و به راحتی قابل دسترسی هست.

در این روش همون طور که میتونید ID کاربر رو به دست بیارید سایر اطلاعات کاربر رو هم میشه به راحتی استخراج کرد.

البته شما میتونید از حدول AspNetUsers یا همون کلاس ApplicationUser هم استفاده کنید. ولی در این روش برای گرفتن اطلاعات کاربر باید هر بار یک Request به سمت سرور ارسال کنید که در مقایسه با روش Claim که اطلاعات همیشه در کوکی کاربر وجود داره کمی سخت تر به نظر میرسه.

به این پاسخ امتیاز بدهید    2
امتیاز: 121 رتبه: 12
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود